﻿using System;

namespace Eneta.Portal.Common.Loggers
{
    /// <summary>
    /// Interface for loggers.
    /// </summary>
    public interface ILogger
    {
        /// <summary>
        /// Writes the informative message to log.
        /// </summary>
        /// <param name="message">The message to log.</param>
        /// <param name="source">The source of message.</param>
        void LogInfo(string message, string source);

        /// <summary>
        /// Writes the warning message to log.
        /// </summary>
        /// <param name="message">The message to log.</param>
        /// <param name="source">The source of message.</param>
        void LogWarning(string message, string source);

        /// <summary>
        /// Logs the exception.
        /// </summary>
        /// <param name="ex">The exception to log.</param>
        void LogException(Exception ex);
    }
}